﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Data.SqlClient;

/// <summary>
/// Summary description for ModeloGenerarDocumentos
/// </summary>
public class ModeloGenerarDocumentos
{
    private Conexion conn;

	public ModeloGenerarDocumentos()
	{
		//
		// TODO: Add constructor logic here
		//
        conn = new Conexion();
	}

    public String nombreUsuario(String nombreUsuario)
    {
        String result = "";

        try
        {

            String query = "SELECT USUARIO.NOMBREREALUSUARIO , USUARIO.APELLIDOPATERNOUSUARIO , USUARIO.APELLIDOMATERNOUSUARIO , ROL.NOMBREROL  " +
                           "FROM USUARIO INNER JOIN ROL ON (USUARIO.IDROL = ROL.IDROL) " +
                           "WHERE USUARIO.NOMBREUSUARIO = '" + nombreUsuario + "'";

            bool connected = conn.iniciarConexion();

            if (connected == true)
            {
                SqlDataReader rows = null;
                SqlCommand comm = new SqlCommand(query, conn.getConn());
                rows = comm.ExecuteReader();
                while (rows.Read())
                {
                    result = rows[0].ToString() + " ";
                    result += rows[1].ToString() + " ";
                    result += rows[2].ToString() + "#";
                    result += rows[3].ToString();
                }

                conn.terminarConexion();

                return result;
            }

            else
            {

                conn.terminarConexion();
                return result;
            }
        }

        catch (Exception exc)
        {

            return result; ;
        }

    }

    public String nombreProyecto(String idProyecto)
    {
        String result = "";

        try
        {

            String query = "SELECT  PROYECTO.NOMBREPROYECTO , TIPO_PROYECTO.NOMBRETIPOPROYECTO " +
                           "FROM PROYECTO INNER JOIN TIPO_PROYECTO ON (PROYECTO.IDTIPOPROYECTO = TIPO_PROYECTO.IDTIPOPROYECTO) " +
                           "WHERE PROYECTO.IDPROYECTO = '" + idProyecto + "'";

            bool connected = conn.iniciarConexion();

            if (connected == true)
            {
                SqlDataReader rows = null;
                SqlCommand comm = new SqlCommand(query, conn.getConn());
                rows = comm.ExecuteReader();
                while (rows.Read())
                {
                    result = rows[0].ToString() + "#";
                    result += rows[1].ToString();

                }

                conn.terminarConexion();

                return result;
            }

            else
            {

                conn.terminarConexion();
                return result;
            }
        }

        catch (Exception exc)
        {

            return result; ;
        }

    }

    public DataTable materialEstimadoProyecto(String idProyecto)
    {
        DataTable dt = new DataTable();

        DataColumn c1 = new DataColumn();
        c1.ColumnName = "cantidad";
        DataColumn c2 = new DataColumn();
        c2.ColumnName = "nombre";
        DataColumn c3 = new DataColumn();
        c3.ColumnName = "unidad";


        dt.Columns.Add(c1);
        dt.Columns.Add(c2);
        dt.Columns.Add(c3);


        try
        {

            String query = "SELECT ESTIMACIONMATERIAL.CANTIDADESTIMADA , TIPO_MATERIAL.NOMBRETIPOMATERIAL , UNIDAD_DE_MEDIDA.NOMBREUNIDADDEMEDIDA " +
                           "FROM ESTIMACIONMATERIAL INNER JOIN TIPO_MATERIAL ON (ESTIMACIONMATERIAL.IDTIPOMATERIAL = TIPO_MATERIAL.IDTIPOMATERIAL) " +
                           "INNER JOIN UNIDAD_DE_MEDIDA ON (TIPO_MATERIAL.IDUNIDADDEMEDIDA = UNIDAD_DE_MEDIDA.IDUNIDADDEMEDIDA) " +
                           "WHERE ESTIMACIONMATERIAL.IDPROYECTO = '" + idProyecto + "'";

            bool connected = conn.iniciarConexion();

            if (connected == true)
            {
                SqlDataReader rows = null;
                SqlCommand comm = new SqlCommand(query, conn.getConn());
                rows = comm.ExecuteReader();

                while (rows.Read())
                {
                    DataRow r = dt.NewRow();
                    r["cantidad"] = rows[0].ToString();
                    r["nombre"] = rows[1].ToString();
                    r["unidad"] = rows[2].ToString();
                    dt.Rows.Add(r);

                }

                conn.terminarConexion();

                return dt;
            }

            else
            {

                conn.terminarConexion();
                return null;
            }
        }

        catch (Exception exc)
        {

            return null;
        }

    }

}